package ar.com.binarit.entities

class TipoPago {

	public static String TARJETA = "credit_card"
	public static String CUENTA = "account_money"
	public static String TICKET = "ticket"
	public static String TRANSFERENCIA_BANCARIA = "Transferencia Bancaria"
	public static String DEVOLUCION_TARJETA = "Devolucion total a la Tarjeta de Credito"
	public static String DEVOLUCION_TICKET = "Devolucion parcial por ticket"
	public static String OTROS = "Otros"

	String descripcion
	
    static constraints = {
		descripcion(size:1..50)
    }
	
	static mapping = {
		//fase fetch: 'join'
	}
	
	String toString() {
		"${descripcion}"
	}
	
	public boolean equals(Object o) {
		try {
			TipoUsuario otro = (TipoUsuario) o
			return otro.id.equals(id)
		} catch (ClassCastException e) {
			return false
		}
	}
	
	public int hashCode() {
		return id.hashCode()
	}
	
	static def tarjeta() {
		return TipoPago.findByDescripcion(TARJETA)
	}
	
	static def cuenta() {
		return TipoPago.findByDescripcion(CUENTA)
	}
	
	static def ticket() {
		return TipoPago.findByDescripcion(TICKET)
	}
	
	static def transferenciaBancaria() {
		return TipoPago.findByDescripcion(TRANSFERENCIA_BANCARIA)
	}

	static def otros() {
		return TipoPago.findByDescripcion(OTROS)
	}
	
}
